package com.justgame.project.generator.boot;

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine;
import com.justgame.project.generator.schema.Entity;

public abstract class AbstractDbGenerator{
    protected AutoGenerator autoGenerator;

    public AbstractDbGenerator() {
        this.autoGenerator = new AutoGenerator();
    }

    protected abstract DataSourceConfig buildDataSourceConfig();

    protected abstract GlobalConfig buildGlobalConfig();

    protected abstract PackageConfig buildPackageConfig(Entity entity);

    protected abstract TemplateConfig buildTemplateConfig();

    protected abstract InjectionConfig buildInjectionConfig(Entity entity);

    protected abstract StrategyConfig buildStrategyConfig(Entity entity);

    protected abstract AbstractTemplateEngine buildTemplateEngine();


}
